
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<HTML>

<HEAD>
   <TITLE>lparss_c</TITLE>
</HEAD>

<BODY style="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255);">
<A name="TOP"></A>

<table style="text-align: left; margin-left: auto; margin-right: auto; width: 800px;"
 border="0" cellpadding="5" cellspacing="2">
  <tbody>
    <tr>
      <td style="background-color: rgb(153, 153, 153); vertical-align: middle; text-align: center;">
      <div align="right"> 
      <small><small><a href="index.html">Index Page</a></small></small>
      </div>
      <b>lparss_c</b> </td>
    </tr>

    <tr>
      <td style="vertical-align: top;">

<small><div align="center">
<A HREF="index.html#A">A</A>&nbsp;
<A HREF="index.html#B">B</A>&nbsp;
<A HREF="index.html#C">C</A>&nbsp;
<A HREF="index.html#D">D</A>&nbsp;
<A HREF="index.html#E">E</A>&nbsp;
<A HREF="index.html#F">F</A>&nbsp;
<A HREF="index.html#G">G</A>&nbsp;
<A HREF="index.html#H">H</A>&nbsp;
<A HREF="index.html#I">I</A>&nbsp;
<A HREF="index.html#J">J</A>&nbsp;
<A HREF="index.html#K">K</A>&nbsp;
<A HREF="index.html#L">L</A>&nbsp;
<A HREF="index.html#M">M</A>&nbsp;
<A HREF="index.html#N">N</A>&nbsp;
<A HREF="index.html#O">O</A>&nbsp;
<A HREF="index.html#P">P</A>&nbsp;
<A HREF="index.html#Q">Q</A>&nbsp;
<A HREF="index.html#R">R</A>&nbsp;
<A HREF="index.html#S">S</A>&nbsp;
<A HREF="index.html#T">T</A>&nbsp;
<A HREF="index.html#U">U</A>&nbsp;
<A HREF="index.html#V">V</A>&nbsp;
<A HREF="index.html#W">W</A>&nbsp;
<A HREF="index.html#X">X</A>&nbsp;
</div></small>
       <br>
       <table style="text-align: left; width: 60%; margin-left: auto; margin-right: auto;"
       border="0" cellspacing="2" cellpadding="2">
        <tbody>
          <tr>
            <td style="width: 50%; text-align: center;">
            <small>
              <a href="#Procedure">Procedure<br></a>
              <a href="#Abstract">Abstract<br></a>
              <a href="#Required_Reading">Required_Reading<br></a>
              <a href="#Keywords">Keywords<br></a>
              <a href="#Brief_I/O">Brief_I/O<br></a>
              <a href="#Detailed_Input">Detailed_Input<br></a>

              </small>
              </td>
              <td style="vertical-align: top; width: 50%; text-align: center;">
              <small>               <a href="#Detailed_Output">Detailed_Output<br></a>
              <a href="#Parameters">Parameters<br></a>
              <a href="#Exceptions">Exceptions<br></a>
              <a href="#Files">Files<br></a>
              <a href="#Particulars">Particulars<br></a>
              <a href="#Examples">Examples<br></a>

              </small>
              </td>
              <td style="vertical-align: top; width: 50%; text-align: center;">
              <small>               <a href="#Restrictions">Restrictions<br></a>
              <a href="#Literature_References">Literature_References<br></a>
              <a href="#Author_and_Institution">Author_and_Institution<br></a>
              <a href="#Version">Version<br></a>
              <a href="#Index_Entries">Index_Entries<br></a>
             </small>
            </td>
          </tr>
        </tbody>
</table>

<h4><a name="Procedure">Procedure</a></h4>
<PRE>
   void lparss_c ( ConstSpiceChar   * list,
                   ConstSpiceChar   * delims,
                   SpiceCell        * set     ) 

</PRE>
<h4><a name="Abstract">Abstract</a></h4>
<PRE>
 
   Parse a list of items separated by multiple delimiters, placing the
   resulting items into a set.
</PRE>
<h4><a name="Required_Reading">Required_Reading</a></h4>
<PRE>
 
   None. 
 </PRE>
<h4><a name="Keywords">Keywords</a></h4>
<PRE>
 
   CHARACTER,  LIST,  PARSING,  STRING 
 

</PRE>
<h4><a name="Brief_I/O">Brief_I/O</a></h4>
<PRE>
 
   VARIABLE  I/O  DESCRIPTION 
   --------  ---  -------------------------------------------------- 
   list       I    List of items delimited by delims. 
   delims     I    Single characters which delimit items. 
   set        O    Set containing items in the list, left justified. 
 </PRE>
<h4><a name="Detailed_Input">Detailed_Input</a></h4>
<PRE>
 
   list        is a list of items delimited by any one of the
               characters in the string delims. Consecutive delimiters,
               and delimiters at the beginning and end of the list, are
               considered to delimit empty items. A blank or empty list
               is considered to contain a single, empty item.  Leading
               and trailing blanks in list are ignored.
  
   delims      contains the individual characters which delimit
               the items in the list. These may be any ASCII
               characters, including blanks.

               However, by definition, consecutive blanks are NOT
               considered to be consecutive delimiters. Nor are
               a blank and any other delimiter considered to be
               consecutive delimiters.  
</PRE>
<h4><a name="Detailed_Output">Detailed_Output</a></h4>
<PRE>
 
   set         is a CSPICE set containing the items in the list,
               left justified. Any item in the list too long to fit into 
               an element of items is truncated on the right.  Empty
               (null) or blank items in the input string are mapped to
               empty strings on output.

               set should be declared by the caller as a character
               SpiceCell:

                  SPICECHAR_CELL ( set, NMAX, LENGTH );

               where NMAX is the maximum number of strings the set is
               expected to hold and LENGTH is the maximum length of
               the strings, counting the terminating null.

               The strings in set will be sorted in increasing order,
               and duplicates will be removed.  Trailing blanks are
               ignored in string comparisons.
</PRE>
<h4><a name="Parameters">Parameters</a></h4>
<PRE>
 
   None. 
 </PRE>
<h4><a name="Exceptions">Exceptions</a></h4>
<PRE>
 
 
   1)  If the size of the set is not large enough to accomodate all of
       the items in the set, the error SPICE(SETEXCESS) is signaled.
       
   2)  The error SPICE(NULLPOINTER) is signaled if either of the input
       string pointers is null.

   3)  If the set does not have character type, the error 
       SPICE(TYPEMISMATCH) will be signaled..
       
   4)  An empty input string will result in a single, empty output 
       token.  This case is not an error.

   5)  If the string length associated with set is too short to
       be usable when constructing a character Fortran-style cell,
       the error will be diagnosed by routines in the call tree
       of this routine.  See the routine enchar_ for details.
    </PRE>
<h4><a name="Files">Files</a></h4>
<PRE>
 
   None. 
 </PRE>
<h4><a name="Particulars">Particulars</a></h4>
<PRE>
 
   None. 
 </PRE>
<h4><a name="Examples">Examples</a></h4>
<PRE>
 
   The following examples illustrate the operation of <b>lparss_c</b>. 

  1) Let 

        list   == &quot;  A number of words   separated   by spaces.   &quot; 
        delims == &quot; ,.&quot; 
         
     Let set be declared with size 20.

     Then 

        Element 0 of set == &quot; &quot; 
        Element 1 of set == &quot;A&quot; 
        Element 2 of set == &quot;by&quot; 
        Element 3 of set == &quot;number&quot; 
        Element 4 of set == &quot;of&quot; 
        Element 5 of set == &quot;separated&quot; 
        Element 6 of set == &quot;spaces&quot; 
        Element 7 of set == &quot;words&quot; 

   2) Let 

         list   == &quot;  1986-187// 13:15:12.184 &quot; 
         delims == &quot; ,/-:&quot; 
         nmax   == 20 

      Then 

         Element 0 of set == &quot;&quot;      
         Element 1 of set == &quot;12.184&quot; 
         Element 2 of set == &quot;13&quot; 
         Element 3 of set == &quot;15&quot; 
         Element 4 of set == &quot;187&quot; 
         Element 5 of set == &quot;1986&quot;
 
 </PRE>
<h4><a name="Restrictions">Restrictions</a></h4>
<PRE>
 
   1)  String comparisons performed by this routine are Fortran-style:
       trailing blanks in the input array or key value are ignored.
       This gives consistent behavior with CSPICE code generated by
       the f2c translator, as well as with the Fortran SPICE Toolkit.
      
       Note that this behavior is not identical to that of the ANSI
       C library functions strcmp and strncmp.
 </PRE>
<h4><a name="Literature_References">Literature_References</a></h4>
<PRE>
 
   None. 
 </PRE>
<h4><a name="Author_and_Institution">Author_and_Institution</a></h4>
<PRE>
 
   N.J. Bachman    (JPL)
   I.M. Underwood  (JPL) 
 </PRE>
<h4><a name="Version">Version</a></h4>
<PRE>
 
   -CSPICE Version 1.0.0, 27-AUG-2002 (NJB) (IMU)
</PRE>
<h4><a name="Index_Entries">Index_Entries</a></h4>
<PRE>
 
   parse a list of items 
 </PRE>
<h4>Link to routine lparss_c source file <a href='../../../src/cspice/lparss_c.c'>lparss_c.c</a> </h4>

      </td>
    </tr>
  </tbody>
</table>

   <pre>Wed Jun  9 13:05:26 2010</pre>

</body>
</html>

